package com.jsu.information.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.example.model.information.dto.AchievementDto;
import org.example.model.information.pojo.Achievement;
import org.example.model.information.pojo.AchievementTry;
import org.example.model.common.dtos.ResponseResult;
import org.springframework.web.multipart.MultipartFile;

public interface AchievementService  extends IService<Achievement> {
    /**
     * 返回所有成果集合
     * @return map集合
     */
    ResponseResult getAchievement();

    /**
     * 提交申请试用表
     * @param achievementTry
     * @return
     */
    ResponseResult tryAchievement(AchievementTry achievementTry);

    /**
     * 管理员端获取所有的试用表
     * @return
     */
    ResponseResult getForm();

    /**
     * 管理员审批试用表
     * @param achievementTry
     * @return
     */
    ResponseResult checkOneTry(AchievementTry achievementTry);

    /**
     * 上传文件
     * @param file
     * @return
     */
    ResponseResult uploadExcel(MultipartFile file);

    /**
     * 导出文件
     * @param fileName
     * @return
     */
    ResponseResult exportExcel(String fileName);

    /**
     * 添加成果
     * @param achievementDto
     * @return
     */
    ResponseResult addAchievement(AchievementDto achievementDto);

    /**
     * 删除成果
     * @param id
     * @return
     */
    ResponseResult deleteAchievement(int id);

    /**
     *  更新成果
     * @param achievementDto
     * @return
     */
    ResponseResult updateAchievement(AchievementDto achievementDto);

    /**
     * 获取试用列表
     * @param id
     * @return
     */
    ResponseResult getTryList(int id);

    /**
     * 搜索成果
     * @param key
     * @return
     */
    ResponseResult searchAchievement(String key);

    /**
     * 批量删除成果
     * @param ids
     * @return
     */
    ResponseResult deleteAchievementBatch(int[] ids);

    /**
     * 获取所有试用列表
     * @return
     */
    ResponseResult getAllTryList();
}
